package com.itheima.service.mongo;

import com.itheima.domain.mongo.Movement;
import com.itheima.vo.PageBeanVo;
import org.bson.types.ObjectId;

public interface MovementService {

    // 发布动态
    void save(Movement movement);

    //我的动态
    PageBeanVo findMyMovementByPage(Long userId,Integer pageNum,Integer pageSize);

    //好友动态
    PageBeanVo findFriendMovementByPage(Long userId,Integer pageNum,Integer pageSize);

    //朋友动态
    PageBeanVo findRecommendMovementByPage(Long userId,Integer pageNum,Integer pageSize);

    //根据主键查询
    Movement findById(ObjectId id);



    /*
    admin***********************************************************
     */

    //根据用户id和状态查询动态(userId有可能为空,state有可能为空)
    PageBeanVo findMovementByCondition4Page(Long userId,Integer state,Integer pageNum,Integer pageSize);

    void update(Movement movement);
}
